Configuring a device using an automated manual process bridge

ABSTRACT

A method is used in configuring a device in computing environments. A configuration system retrieves device information from the device. The configuration system creates a configuration script for the device using the device information. The configuration system executes the configuration script to direct a peripheral device to transmit Human Interface Device (HID) events to the device, where the device performs the device configuration.

BACKGROUND Technical Field

This application relates to configuring a device using an automatedmanual process bridge in computing environments.

Description of Related Art

Companies often provide their customers with system configuration fordevices that the customers have purchased. These configurations mayinclude, but are not limited to, Basic Input/Output System (BIOS)changes, Operating System (OS) customization, enterprise enrollmentand/or configuring the customer's credentials. Often, an operator mustmanually enter the customer's credentials, and perform other steps usingthe device and the device's keyboard and mouse during the deviceconfiguration process.

SUMMARY OF THE INVENTION:

In accordance with one aspect of the invention is a method used inconfiguring a device in computing environments. A configuration systemretrieves device information from the device. The configuration systemcreates a configuration script for the device using the deviceinformation, and executes the configuration script to direct aperipheral device to transmit Human Interface Device (HID) events to thedevice, where the device cannot be configured without the HID events.The device performs the device configuration.

In accordance with one aspect of the invention is a system used inconfiguring a device in computing environments. A configuration systemretrieves device information from the device. The configuration systemcreates a configuration script for the device using the deviceinformation, and executes the configuration script to direct aperipheral device to transmit Human Interface Device (HID) events to thedevice, where the device cannot be configured without the HID events.The device performs the device configuration.

In accordance with another aspect of the invention, a computer programproduct comprising a computer readable medium is encoded with computerexecutable program code. The code enables execution across one or moreprocessors for configuring a device in computing environments. Aconfiguration system retrieves device information from the device. Theconfiguration system creates a configuration script for the device usingthe device information, and executes the configuration script to directa peripheral device to transmit Human Interface Device (HID) events tothe device, where the device cannot be configured without the HIDevents. The device performs the device configuration.

BRIEF DESCRIPTION OF THE DRAWINGS:

Features and advantages of the present technique will become moreapparent from the following detailed description of exemplaryembodiments thereof taken in conjunction with the accompanying drawingsin which:

FIG. 1 an example of an embodiment of configuring a device in computingenvironments, in accordance with an embodiment of the presentdisclosure.

FIG. 2 illustrates an example process for configuring a device incomputing environments in accordance with an example of the presentdisclosure.

FIG. 3 is a block diagram of a computer, in accordance with anembodiment of the present disclosure.

FIG. 4 is a flow diagram illustrating processes that may be used inconnection with techniques disclosed herein.

DETAILED DESCRIPTION OF EMBODIMENT(S):

Described below is a technique for use in configuring a device incomputing environments, which technique may be used to provide, amongother things, retrieving, from the device, device information, creating,by a configuration system, a configuration script for the device usingthe device information, and executing, by the configuration system, theconfiguration script to direct a peripheral device to transmit HumanInterface Device (HID) events to the device, where the device performsthe device configuration, and where the device cannot be configuredwithout the HID events.

Manufactures often offer to configure devices that customer havepurchased. This spares the customer from having to perform thisfunction. For example, when a school system purchases large quantitiesof, for example, personal computers for the students, it is a helpful(and often times necessary) service for the manufacturer to perform theconfiguration on behalf of the students. This allows the customer, inthis case, the students to unbox the personal computer, turn it on,enter the login and password information, and have the personal computercompletely configured for the student's needs. The device configurationmay include, but is not limited to, BIOS changes, OS customization, andenterprise enrollment.

Often times, these configuration procedures are not automated, becausethey require a computer operator to manually enter instructions into thedevice, using the device's keyboard and mouse to perform theconfiguration. Conventional technologies for manually configuring adevice are prone to human error. For example, the operator may performthe wrong configuration for the device and/or the customer, and/or thecustomer's specifications. Conventional technologies for manuallyconfiguring a device cannot perform the device configuration at aconsistent rate, since each operator may perform the deviceconfiguration at a different speed. Conventional technologies formanually configuring a plurality of different devices for a plurality ofconfigurations run the risk that a human operator may be prone to moreerrors, especially each time the devices and/or configurations change.For example, in a manufacturing facility, an operator may be tasked withconfiguring multiple types of devices, with multiple configurations, andthe devices/configurations may change throughout the operator's shift.Conventional technologies may provide an operator with a printout of thesteps necessary to configure a device (i.e., the keystrokes, customerdata such as login and password information, mouse clicks, instructionsto wait for devices responses prior to proceeding to the next step,etc.), and rely on the operator's skill and speed to correctly andefficiently complete the configuration process. Conventionaltechnologies that require an operator to enter the customer's login andpassword information cannot ensure that the login and passwordinformation is entered correctly (especially when the operator isentering different login and password information for each device thatis configured), and cannot ensure that the login and passwordinformation is securely maintained. Conventional technologies thattransmit keyboard events to a computer use static scripts, and cannot bedynamically modified. Conventional technologies for manually configuringa device are more expensive than if that manual process could beautomated.

By contrast, in at least some implementations in accordance with thecurrent technique as described herein, a configuration system retrievesdevice information from a device. The configuration system creates aconfiguration script for the device using the device information, andexecutes the configuration script to direct a peripheral device totransmit HID events to the device, where the device cannot be configuredwithout the HID events. The device then performs the deviceconfiguration. In other words, embodiments disclosed herein dynamicallycreate a customized script from a base script using customer specificconfiguration information, execute the customized script, and transmitthe output of the customized script to a peripheral device thattranslates the output (i.e., the commands necessary to perform theconfiguration on the device) into HID events, where the configurationprocess cannot be completed without HID events.

Thus, embodiments disclosed herein replace the human interaction andmanual instructions used to configure the device with an automatedsystem. This reduces the cost of performing the device configurationbecause lower skilled employees are able to complete the configurationprocess (as opposed to the higher skilled employees needed to manuallyperform the configuration process, interacting with the device duringthe configuration process).

Automating the process also drastically reduces errors, such asconfiguring a device with the wrong configuration, and/or for the wrongcustomer. In an example embodiment, the device service tag is scannedinto the configuration system, and the correct customized configurationscript is created by the configuration system. The configuration systemthen executes the customized configuration script, and the peripheraldevice translates the output of the customize configuration script intoHID events. The HID events are then transmitted to the device where thedevice performs the configuration.

Streamlining the process through automation also reduces the cost whenmanufacturers are charged for the configuration process by the number of“touches” an operator performs to configure the device. For example,conventional technologies for manually configuring a device may require10 minutes of an operator's undivided attention, or even longer for anoperator who performs the required steps more slowly. The operator mayhave to “touch” the device (i.e., perform keystrokes, mouse movements,mouse clicks, etc.), for example, 50 times. Embodiments disclosed hereinstreamline the configuration process such that, for example, an operatorscans the service tag associated with a device, and the automated deviceconfiguration process can be initiated. In other words, the operator“touches” the device fewer times, and this reduces overall costs ofconfiguring the device. Further, the automated process may be completedin a fraction of the time as compared to an operator manually performingthe configuration process. While the automated configuration process isexecuting, the operator can move on to the next device and initiate theautomated process on the next device. Thus, the operator is able toconfigure several devices simultaneously, while each devices isconfigured faster, with fewer touches, errors are drastically reduced,and customer privacy is preserved, for example, since the customer'sprivate credentials are not available to the operators.

Embodiments disclosed herein take a plurality of configuration processesthat may have different processing times (i.e., due to the length of theconfiguration process and/or the skill/efficiency of the operator), andcreate a uniform processing time for the plurality of configurationprocesses. Thus, one goal of embodiments disclosed herein is to providea consistent efficient installation process for otherwise dynamicallychanging installation processes for a plurality of devices and aplurality of device configurations. In other words, embodimentsdisclosed herein provide automation of a process to provide a consistentprocess regardless of the operator, the device to be configured, thespecific configuration details, etc. Embodiments disclosed hereinprovide a consistent, uniform process for the operator regardless of thedevice being configured or the specific configuration(s) to reduceoperator error and increase operator efficiency.

Embodiments disclosed herein provide automation where automation toolsdo not exist (such as when HID events are necessary to complete theconfiguration process). The goals of the technique disclosed herein alsoinclude automating a device configuration process where theconfiguration process cannot be performed without HID events.

In at least some implementations in accordance with the currenttechnique described herein, the use of configuring a device in computingenvironments can provide one or more of the following advantages:creating a consistent, efficient, simplified process for a variety ofdevice configuration processes, reducing human error, increasing theefficiency of the process, increasing the consistency of the speed ofthe process, maintaining customer privacy by not exposing customer data,and allowing for rapid transition in the configuration process betweendifferent devices, different configurations, different customer specificdetails, and changes in the configuration processes.

In contrast to conventional technologies, in at least someimplementations in accordance with the current technique as describedherein, a method configures a device in computing environments. Aconfiguration system retrieves device information from the device. Theconfiguration system creates a configuration script for the device usingthe device information, and executes the configuration script to directa peripheral device to transmit Human Interface Device (HID) events tothe device, where the device cannot be configured without the HIDevents. The device performs the device configuration.

In an example embodiment of the current technique, each of a pluralityof varied configuration processes are transformed into a simplifiedconsistent process by the retrieving, creating, and executing.

In an example embodiment of the current technique, the configurationsystem receives the device information. Based on the device information,the configuration system retrieves a base script for the device.

In an example embodiment of the current technique, an interfaceassociated with the configuration system receives the devicesinformation, where the device information is scanned into the interfaceby a user.

In an example embodiment of the current technique, the configurationsystem integrates the device information into the base script to createthe configuration script that is customized for the device.

In an example embodiment of the current technique, the configurationsystem retrieves at least one of a type of configuration to be performedon the device, and device owner specific details associated with thedevice.

In an example embodiment of the current technique, the configurationsystem integrates at least one of the type of configuration to beperformed on the device, and the device owner specific detailsassociated with the device into the base script to create theconfiguration script that is customized for the device.

In an example embodiment of the current technique, the configurationsystem transmits output of the configuration script from theconfiguration system to the peripheral device, where the peripheraldevice translates the output into the HID events.

In an example embodiment of the current technique, the method transmitsthe HID events from the peripheral device to the device using UniversalSerial Bus (USB) communication.

In an example embodiment of the current technique, the HID eventscomprise a plurality of keystrokes, control characters, mouse events,and/or pauses.

FIG. 1 an example of an embodiment of configuring a device in computingenvironments, in accordance with an embodiment of the presentdisclosure. In an example embodiment, a user, such as an operator, scansthe System Under Test (SUT) 140 (also referred to as “the device”), intothe configuration system 110. The configuration system 110 may be, forexample, a logic controller, engine, etc. that takes a generic template,such as a base script, and integrates, as needed, customer specificconfigurations, customer credentials, server settings, etc. Theconfiguration system 110 receives the device information (i.e., theinformation associated with the system under test 140) through aconfiguration system interface 120 when the operator performs thescanning. The configuration system 110 retrieves the device information,and based on the device information, retrieves a device script. In anexample embodiment, the device script is obtained from a deviceinformation repository 150, although the device script may be obtainedfrom various other sources.

The device script is a base script that is appropriate for the model ofthe system under test 140, and for the type of configuration that is tobe performed to configure the system under test 140. The configurationsystem 110 creates a configuration script that integrates the deviceinformation, the type of configuration, customer specific details, etc.,into the script. In some embodiments, the configuration system 110 willalso access the login and password information for the customer who willreceive the system under test 140, so as to provide that login andpassword information during the system under test 140 configurationprocess. In an example embodiment, the type of configuration, customerspecific details, customer login and password, etc. may also beretrieved from the device information repository 150, as well as fromother sources. Thus, the same base script may work for a particularbatch of systems under test 140, but the customer credentials may bedifferent for each system under test 140. The configuration process issimplified, and quality of the configuration process is increased bydynamically obtaining the customer credentials, server settings, etc.,for example, from the device information repository 150. This alsomaintains the customer's privacy, because the operator does not haveaccess to the customer credentials, etc. Once the configuration system110 creates the configuration script, the configuration system 110executes the configuration script.

In an example embodiment, the configuration script includes a scriptinglanguage to develop the configuration sequence (i.e., the combination ofkeystrokes, mouse events, pauses, etc. that are required to perform thecustomized device configuration for the system under test 140). Forexample, the scripting language may handle sending keystrokes by sendinga text string to the system under test 140 (for example, a user name andpassword). The scripting language may send control characters such as acommand to send the “arrow keys”, or other non-printable keys like“TAB”, “Carriage Return”, “Control-ALT-Delete”, etc. The scriptinglanguage may send mouse events such as movements, clicks, drags, etc.The scripting language may send pauses that force the peripheral device130 to wait an amount of time (i.e., a configurable amount of time)between commands, for example, allowing the system under test 140 toperform and complete one (or more) of the configuration steps. Thescripting language may also include a template token that is aplaceholder within the base script where substitutions of customerspecific data is placed. Thus, the same base script may be shared acrosssimilar device configuration projects.

The output of the configuration script are the commands that configurethe system under test 140. The configuration system 110 transmits thecommands to the peripheral device 130 where the peripheral device 130transmits the commands into the appropriate keystrokes (i.e., the HIDevents) to configure the system under test 140. In an exampleembodiment, the peripheral device 130 is a hardware device that acceptsthe output of the configuration script as input. In response, theperipheral device 130 produces, as output, the necessary signals totransmit the HID events. The peripheral device 130 enables the HIDevents, for example, the keyboard and mouse events, as though they arenative devices. This eliminates the need for drivers and/or an operatingsystem to be installed on the system under test 140 for the deviceconfiguration process to execute successfully. Thus, the peripheraldevice 130 may be used to configure the BIOS of the system under test140. The peripheral device 130 may also be used with any operatingsystem type. In an example embodiment, embodiments disclosed hereinallow performance of BIOS changes in platforms where tools to manipulatethe BIOS do not exist. Embodiments disclosed herein may also performconfiguration changes on non-personal computer (PC) devices. The HIDevents may include keystrokes, control characters, mouse events, and/orpauses. The HID events are entered as input into the system under test140, and the configuration is performed on the system under test 140using the HID events. The configuration of the system under test 140 isthen complete. For example, upon completion of the device configuration,the system under test 140 is enrolled into the management system of aschool system prior to leaving the manufacturing facility thatmanufactured the system under test 140.

FIG. 2 illustrates an example process for configuring a device incomputing environments in accordance with an example of the presentdisclosure. The manufacturing infrastructure 200 and the configurationsystem 110 communicate with each other through a network. Theconfiguration system 110 transmits the output of the configurationscript to the peripheral device 130 through serial communication. Theperipheral device 130 transmits the HID events (i.e., the output of theconfiguration script) to the system under test 140 through UniversalSerial Bus (USB) communication. Once the configuration is completed, thesystem under test 140 is shipped to the customer.

FIG. 3 illustrates a block diagram of a computer 300 that can perform atleast part of the processing described herein, according to oneembodiment. The computer 300 may include a processor 302, a volatilememory 304, a non-volatile memory 306 (e.g., hard disk), an outputdevice 308 and a graphical user interface (GUI) 310 (e.g., a mouse, akeyboard, a display, for example), each of which is coupled together bya bus 318. The non-volatile memory 306 may be configured to storecomputer instructions 312, an operating system 314, and data 316. In oneexample, the computer instructions 312 are executed by the processor 302out of volatile memory 304. In one embodiment, an article 320 comprisesnon-transitory computer-readable instructions. In some embodiments, thecomputer 300 corresponds to a virtual machine (VM). In otherembodiments, the computer 300 corresponds to a physical computer.

Referring to FIG. 4, shown is a more detailed flow diagram illustratingconfiguring a device (i.e., the system under test 140) in computingenvironments. With reference also to FIGS. 1-3, the configuration system110 retrieves device information from the device (Step 400). Forexample, a user, such as an operator using the configuration system 110,scans the device information into the configuration system interface120, and the configuration system 110 receives the information throughthe configuration system interface 120. In an example embodiment, theconfiguration system 110 may access additional device informationassociated with the device from the device information repository 150.Based on the device information, the configuration system 110 retrievesa base script for the device. In an example embodiment, theconfiguration system 110 may retrieve the base script from the deviceinformation repository 150 or from any other source. For example, afterthe user scans, for example, a service tag associated with the systemunder test 140, the configuration system 110 retrieves the appropriatebase script for the model of the system under test 140. In an exampleembodiment, based on the device information, the configuration system110 retrieves a type of configuration to be performed on the device,and/or device owner specific details associated with the device. Forexample, the same models of systems under test 140 may have differentconfigurations depending on, for example, the customer. Theconfiguration system 110 may also obtain device owner (i.e., customer)specific details, such as login and password information.

The configuration system 110 creates a configuration script for thedevice using the device information (Step 401). The term “deviceinformation” may refer to the information that is scanned into theconfiguration system 110, the information retrieved from the deviceinformation repository 150, and information associated with the deviceand/or the configuration process retrieved from any other source. In anexample embodiment, the configuration system 110 creates theconfiguration script by integrating device information (for example, thetype of configuration to be performed on the device, and/or the deviceowner specific details associated with the device) into the base script.This creates the configuration script that is customized for the device(i.e., the system under test 140). It should be noted that theconfiguration system 110 may obtain device information from the deviceinformation repository 150, or any other source.

The configuration system 110 executes the configuration script to directa peripheral device 130 to transmit Human Interface Device (HID) eventsto the device, where the system under test 140 performs the deviceconfiguration, and where the system under test 140 cannot be configuredwithout the HID events (Step 402). In other words, the configurationsystem 110 transmits the output of the configuration script from theconfiguration system 110 to the peripheral device 130, where theperipheral device 130 translates the output into the HID events. The HIDevents may include, but are not limited to a plurality of keystrokes,control characters, mouse events, and/or pauses. Embodiments disclosedherein implement keystrokes and mouse event data, for example, movementof the mouse, and mouse clicks. This allows for automating configurationof systems where the configuration cannot be completed without the HIDevents. This allows for automating configuration of systems that requiremore than keyboard events for completion. For example, someconfigurations require keyboard and/or mouse events. Some configurationsrequire a pause for the system under test 140 to respond before the nextkeystroke and/or mouse event may be entered. In an example embodiment,the peripheral device 130 transmits the HID events from the peripheraldevice 130 to the device using Universal Serial Bus (USB) communication.

In an example embodiment, each of a plurality of varied configurationprocesses are transformed into a simplified consistent process by thesteps of retrieving the device information, creating the configurationscript, and executing the configuration script to configure the device.Embodiments disclosed herein streamline the configuration process suchthat, for example, an operator scans the service tag associated with adevice, and the automated device configuration process can be initiated.Embodiments disclosed herein take a plurality of configuration processesthat may have different processing times (i.e., due to the length of theconfiguration process and/or the skill/efficiency of the operator), andcreate a uniform processing time for the plurality of configurationprocesses. Thus, embodiments disclosed herein is to provide a consistentefficient installation process for otherwise dynamically changinginstallation processes for a plurality of devices and a plurality ofdevice configurations. In other words, embodiments disclosed hereinprovide automation of a process to provide a consistent processregardless of the operator, the device to be configured, the specificconfiguration details, etc. Embodiments disclosed herein provide aconsistent, uniform process for the operator regardless of the devicebeing configured or the specific configuration(s) to reduce operatorerror and increase operator efficiency.

There are several advantages to embodiments disclosed herein. Forexample, the method creates a consistent, efficient, simplified processfor a variety of device configuration processes. The method reduceshuman error. The method increases the efficiency of the process. Themethod increases the consistency of the speed of the process. The methodmaintains customer privacy by not exposing customer data. The methodallows for rapid transition in the configuration process betweendifferent devices, different configurations, different customer specificdetails, and changes in the configuration processes.

It should again be emphasized that the technique implementationsdescribed above are provided by way of illustration, and should not beconstrued as limiting the present invention to any specific embodimentor group of embodiments. For example, the invention can be implementedin other types of systems, using different arrangements of processingdevices and processing operations. Also, message formats andcommunication protocols utilized may be varied in alternativeembodiments. Moreover, various simplifying assumptions made above in thecourse of describing the illustrative embodiments should also be viewedas exemplary rather than as requirements or limitations of theinvention. Numerous alternative embodiments within the scope of theappended claims will be readily apparent to those skilled in the art.

Furthermore, as will be appreciated by one skilled in the art, thepresent disclosure may be embodied as a method, system, or computerprogram product. Accordingly, the present disclosure may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, the present disclosure may take the form of a computerprogram product on a computer-usable storage medium havingcomputer-usable program code embodied in the medium.

The flowchart and block diagrams in the FIGs illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the Figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

While the invention has been disclosed in connection with preferredembodiments shown and described in detail, their modifications andimprovements thereon will become readily apparent to those skilled inthe art. Accordingly, the spirit and scope of the present inventionshould be limited only by the following claims.

What is claimed is:
 1. A method of configuring a device, the method comprising: retrieving, from the device, device information; creating, by a configuration system, a configuration script for the device using the device information, wherein the configuration script comprises a base configuration script that is customized with unique login information for each device; and executing, by the configuration system, the configuration script to direct a peripheral device to transmit Human Interface Device (HID) events to the device, wherein the device performs the device configuration, wherein the device cannot be configured without the HID events.
 2. The method of claim 1, wherein each of a plurality of varied configuration processes are transformed into a simplified consistent process by the retrieving, creating, and executing.
 3. The method of claim 1, wherein retrieving, from the device, device information comprises: receiving, by the configuration system the device information; and based on the device information, retrieving, by the configuration system, a base script for the device.
 4. The method of claim 3, wherein receiving, by the configuration system, the device information comprises: receiving the device information, by an interface associated with the configuration system, wherein the device information is scanned into the interface by a user.
 5. The method of claim 3, wherein creating, by the configuration system, the configuration script for the device using the device information comprises: integrating the device information into the base script to create the configuration script that is customized for the device.
 6. The method of claim 3, further comprising: based on the device information, retrieving, by the configuration system, at least one of a type of configuration to be performed on the device, and device owner specific details associated with the device.
 7. The method of claim 6, further comprising: integrating the at least one of the type of configuration to be performed on the device, and the device owner specific details associated with the device into the base script to create the configuration script that is customized for the device.
 8. The method of claim 1, wherein executing, by the configuration system, the configuration script to direct the peripheral device to transmit the HID events to the device comprises: transmitting output of the configuration script from the configuration system to the peripheral device, wherein the peripheral device translates the output into the HID events.
 9. The method of claim 1, wherein executing, by the configuration system, the configuration script to direct the peripheral device to transmit the HID events to the device comprises: transmitting the HID events from the peripheral device to the device using Universal Serial Bus (USB) communication.
 10. The method of claim 1, wherein the HID events comprise a plurality of keystrokes, control characters, mouse events, and/or pauses.
 11. A system for use in configuring a device in computing environments, the system comprising a processor configured to: retrieve, from the device, device information; create, by a configuration system, a configuration script for the device using the device information, wherein the configuration script comprises a base configuration script that is customized with unique login information for each device; and execute, by the configuration system, the configuration script to direct a peripheral device to transmit Human Interface Device (HID) events to the device, wherein the device performs the device configuration, wherein the device cannot be configured without the HID events.
 12. The system of claim 11, wherein each of a plurality of varied configuration processes are transformed into a simplified consistent process by the retrieving, creating, and executing.
 13. The system of claim 11, wherein the processor configured to retrieve, from the device, device information is further configured to: receive, by the configuration system, the device information; and based on the device information, retrieve, by the configuration system, a base script for the device.
 14. The system of claim 13, wherein the processor configured to receive, by the configuration system, the device information is further configured to: receive the device information, by an interface associated with the configuration system, wherein the device information is scanned into the interface by a user.
 15. The system of claim 13, wherein the processor configured to create, by the configuration system, the configuration script for the device using the device information is further configured to: integrate the device information into the base script to create the configuration script that is customized for the device.
 16. The system of claim 13, further configured to: based on the device information, retrieve, by the configuration system, at least one of a type of configuration to be performed on the device, and device owner specific details associated with the device; and integrate the at least one of the type of configuration to be performed on the device, and the device owner specific details associated with the device into the base script to create the configuration script that is customized for the device.
 17. The system of claim 11, wherein the processor configured to execute, by the configuration system, the configuration script to direct the peripheral device to transmit the HID events to the device is further configured to: transmit output of the configuration script from the configuration system to the peripheral device, wherein the peripheral device translates the output into the HID events.
 18. The system of claim 11, wherein the processor configured to execute, by the configuration system, the configuration script to direct the peripheral device to transmit the HID events to the device is further configured to: transmit the HID events from the peripheral device to the device using Universal Serial Bus (USB) communication.
 19. A computer program product for configuring a device in computing environments, the computer program product comprising: a non-transitory computer readable storage medium having computer executable program code embodied therewith, the program code executable by a computer processor to: retrieve, from the device, device information; create, by a configuration system, a configuration script for the device using the device information, wherein the configuration script comprises a base configuration script that is customized with unique login information for each device; and execute, by the configuration system, the configuration script to direct a peripheral device to transmit Human Interface Device (HID) events to the device, wherein the device performs the device configuration, wherein the device cannot be configured without the HID events.
 20. The computer program product of claim 19, wherein each of a plurality of varied configuration processes are transformed into a simplified consistent process by the retrieving, creating, and executing. 